The illustrative embodiments described in the present application are useful in systems including those for use in responsive environments and more particularly are useful in systems including those for application and function activation in a responsive environment.
The term responsive environment may be used to describe an environment that has computing capability and access to sensing technology data that allows the environment control to consider its current state or context and new events that occur that may change the state or context.
Some examples of prototype responsive environments include the BlueSpace system described by IBM Corporation of White Plains, N.Y., the Stanford Iroom system described by Stanford University of Stanford, Calif. and the Aware Home system described by Georgia Institute of Technology of Atlanta, Ga.
Two types of responsiveness are traditionally supported in responsive environments. In the first type, an application currently running in the environment receives an event message including sensed data. The application then performs a function that is determined by the sensed data that represents the sensed event. For example, an environment management application may be running in an office. The application may be programmed to set the lights, temperature, and white noise level of the office when a person enters it by using information regarding the identity of the person and the time that the person entered the office. In this example, the sensed event is that someone entered the office and it includes the identity of the entering person.
In a second type of responsiveness, environment functionality may be enhanced based on sensed events. Certain applications that were not previously running could be dynamically started in response to a sensed event. Alternatively, certain applications that were running could be terminated due to a sensed event. For example, a meeting room may automatically launch a presentation application to support a meeting that is about to begin when the presenter enters the room.
Several groups have described systems related to responsive environments and context aware computing. In a first example, a project named the Context Toolkit is described in relation to the Aware Home system in a paper entitled “A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications” by Anind K. Dey, Daniel Salber and Gregory D. Abowd as found in the Human-Computer Interaction (HCI) Journal, Volume 16 (2-4), 2001, pp. 97-166.
In a second and third example, the Iroom system is described. In the second example, a group described the Event Heap system in a paper entitled “The Event Heap: A Coordination Infrastructure for Interactive Workspaces” by Brad Johanson and Armando Fox as found in the Proceedings of the Fourth IEEE Workshop on Mobile Computing Systems and Applications, p. 83, Jun. 20-21, 2002.
In the third example, a mechanism to introduce mediation into decisions initiated by a responsive environment is described in a paper entitled “Distributed Mediation of Ambiguous Context in Aware Environments” by Anind K. Dey, Jennifer Mankoff, Gregory D. Abowd and Scott Carter as found in the Proceedings of the 15th Annual Symposium on User Interface Software and Technology (UIST 2002), Paris, France, Oct. 28-30, 2002. pp. 121-130.
The first two examples describe mechanisms for building responsive environments. In the first example, applications within an environment are made responsive by directly building in their reactions to sensed events during the design of the application. In the second example, sensed events are all published to a well-known space, so that applications can access them easily at run time. Accordingly, those applications can be responsive to those events. For both the first and second examples, the application designers specifically build in responsiveness. The applications execute this responsiveness directly in a predetermined fashion, whether or not the user wants it.
The system described in the third example apparently provides an attempt at mediation to better handle errors of decisions that the environment may make. It introduces special mediation components that, given that the environment is responding, can reduce the error in the decision that the environment makes. For example, an application in the environment may try to support the user with word completion such that the system guesses the rest of a word being typed after only a few letters are typed. Given the context, the environment may complete words differently. The mediation components allow users to more specifically say what the relevant context is, so that the decisions made by the applications are more supportive. However, the mechanism does not allow the user to control when the environment initiates the decision process. Rather, it assumes that the response will happen and the system merely allows the user to mediate the response to provide better decisions.
Traditional responsive environments are very much hardwired. That is, a sensor is tied to an application, and when it senses an event, it immediately affects the behavior of that application in a predetermined way. There is little or no opportunity for user interaction in this type of system. In most cases, the level of functionality is pre-set and new applications are not typically launched.
However, in those traditional responsive environments that are able to launch other applications, they do so directly and immediately based on predetermined sensed events. Users might be able to initially configure which event causes which application to startup, but when the event happens, the designated application starts automatically.
Accordingly, among other things, the prior art does not provide a responsive environment having delayed application and/or function activation.